﻿using System.ComponentModel;

namespace Relay.Core.Sockets {
    /// <summary>
    /// Specifies the circumstances behind a client socket being closed.
    /// </summary>
    public enum TcpSocketDisconnect {
        /// <summary>
        /// The connection was broken unexpectedly.
        /// </summary>
        [Description("The connection was broken unexpectedly")]
        ConnectionBroken,
        /// <summary>
        /// The remote host terminated the connection.
        /// </summary>
        [Description("The remote host terminated the connection")]
        RemoteHostClosed,
        /// <summary>
        /// The local host terminated the connection.
        /// </summary>
        [Description("The local host terminated the connection")]
        LocalHostClosed,
        /// <summary>
        /// Unknown.
        /// </summary>
        [Description("Unknown")]
        Unknown
    }
}
